(function(){

	/**
	 * 日期时间
	 * 有级联
	 */
	Ext.define('App.view.extend.date.DateTimeFieldCascade',{
		extend:'App.view.extend.date.DateTimeField',
		alias:'widget.datetimefieldcascade',
		cascadeFatherCom:null,//级联父对象
		cascadeChildCom:null,//级联子对象
		vtype:'daterange',
		vtypeText:'子时间必须大于等于父时间',
		listeners:{
			select:function( field, value, eOpts ){
				if(this.cascadeFatherCom){
					var cascadeFatherComArray = Ext.ComponentQuery.query('datetimefieldcascade[name='+field.cascadeFatherCom+']');
					if(cascadeFatherComArray.length>0){
						var cascadeFatherCom = cascadeFatherComArray[0];
						if(value<cascadeFatherCom.value){
							Ext.apply(Ext.form.VTypes,{
			        			daterange : function(val, field) {
			        				return false;
			        			},
			        			daterangeText:this.vtypeText
			        		})
						}else{
							Ext.apply(Ext.form.VTypes,{
			        			daterange : function(val, field) {
			        				return true;
			        			}
			        		})
						}
					}
				}else if(this.cascadeChildCom){
					var cascadeChildComArray = Ext.ComponentQuery.query('datetimefieldcascade[name='+field.cascadeChildCom+']');
					if(cascadeChildComArray.length>0){
						var cascadeChildCom = cascadeChildComArray[0];
						
						//两种方式
						//1.重置子时间
//						cascadeChildCom.reset();
						cascadeChildCom.setValue('');
						
						Ext.apply(Ext.form.VTypes,{
		        			daterange : function(val, field) {
		        				return true;
		        			}
		        		})
						//2.父时间如果大于子时间，则校验父时间
//						if(value>=cascadeChildCom.value){
//							Ext.apply(Ext.form.VTypes,{
//			        			daterange : function(val, field) {
//			        				return false;
//			        			},
//			        			daterangeText:'父时间必须小于子时间'
//			        		})
//						}else{
//							Ext.apply(Ext.form.VTypes,{
//			        			daterange : function(val, field) {
//			        				return true;
//			        			}
//			        		})
//						}
					}
				}
			}
		},
		initCompanent:function(){
			this.callParent(arguments);
		}		
	})
})()